﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace WindowsGame1
{
    abstract class Scene
    {
        public Scene()
        {
        }
       /// <summary>
       /// Carrega todos os variáveis e objetos que a cena vai precisar
       /// </summary>
       /// <param name="Content">É usado pra carregar qualquer coisa externa</param>
        public abstract void Load(ContentManager Content);
        /// <summary>
        /// Atualiza tudo que acontece, 60 vezes por segundo, dentro do programa
        /// </summary>
        /// <param name="gameTime">Utilizado para manter e gerenciar o tempo </param>
        public abstract void Update(GameTime gameTime);
        /// <summary>
        /// Desenha tudo que vá aparecer na tela
        /// </summary>
        /// <param name="spriteBatch">Variável utilizado para enviar dados à placa de vídeo
        /// <example>spriteBatch.Draw(position, texture, Color.White);</example></param>
        /// <param name="gameTime">Utilizado para manter e gerenciar o tempo</param>
        public abstract void Draw(SpriteBatch spriteBatch, GameTime gameTime);
    }
}
